#ifndef __THREAD_H_
#define __THREAD_H_

#include <pthread.h>

class Thread {
	private:
		static void* start_routine(void* arg);

	protected:
		pthread_t thread;

		virtual void* run() = 0;

	public:
		Thread();
		virtual ~Thread();

		int start();
		void* join();
};

#endif
